﻿/**
 * @name umi 的路由配置
 * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
 * @param path  path 只支持两种占位符配置，第一种是动态参数 :id 的形式，第二种是 * 通配符，通配符只能出现路由字符串的最后。
 * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径，也可以是相对路径，如果是相对路径，会从 src/pages 开始找起。
 * @param routes 配置子路由，通常在需要为多个路径增加 layout 组件时使用。
 * @param redirect 配置路由跳转
 * @param wrappers 配置路由组件的包装组件，通过包装组件可以为当前的路由组件组合进更多的功能。 比如，可以用于路由级别的权限校验
 * @param name 配置路由的标题，默认读取国际化文件 menu.ts 中 menu.xxxx 的值，如配置 name 为 login，则读取 menu.ts 中 menu.login 的取值作为标题
 * @param icon 配置路由的图标，取值参考 https://ant.design/components/icon-cn， 注意去除风格后缀和大小写，如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward，如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
 * @doc https://umijs.org/docs/guides/routes
 */

export default [
  /*登录*/
  {
    path: '/user',
    layout: false,
    routes: [
      {
        name: 'login',
        path: '/user/login',
        component: './User/Login',
      },
    ],
  },
  {
    path: '/',
    name: 'home',
    icon: 'welcome|svg',
    component: './home',
  },
  {
    path: '/lesson',
    name: 'lesson',
    icon: 'Lesson|svg',
    component: './lesson-manager',
    permission: 'ds:lesson',
  },
  {
    path: '/coach-manager',
    name: 'coach-manager',
    icon: 'CoachManager|svg',
    component: './coach-manager',
    permission: 'ds:coach:manager',
  },
  {
    path: '/student-manager',
    name: 'student-manager',
    icon: 'StudentManager|svg',
    component: './student-manager',
    permission: 'ds:student:manager',
  },
  {
    path: '/vehicle',
    name: 'vehicle',
    icon: 'Vehicle|svg',
    permission: 'ds:vehicle',
    routes: [
      {
        path: '/vehicle/vehicle-manager',
        name: 'vehicle-manager',
        component: './vehicle/vehicle-manager',
        icon: 'VehicleManager|svg',
        permission: 'ds:vehicle:manager',
      },
      {
        path: '/vehicle/vehicle-usage',
        name: 'vehicle-usage',
        component: './vehicle/vehicle-usage',
        icon: 'VehicleUsage|svg',
        permission: 'ds:vehicle:usage',
      },
    ],
  },
  /*题目*/
  {
    path: '/question',
    name: 'question',
    icon: 'QuestionIcon|svg',
    access: 'accessRouteFilter',
    permission: 'ds:question',
    routes: [
      {
        path: '/question/question-type',
        name: 'question-type',
        component: './question/question-type',
        access: 'accessRouteFilter',
        icon: 'QuestionTypeIcon|svg',
        permission: 'ds:questionType:manager',
      },
      {
        path: '/question/question-manager',
        name: 'question-manager',
        component: './question/question-manager',
        access: 'accessRouteFilter',
        icon: 'QuestionManagerIcon|svg',
        permission: 'ds:question:manager',
      },
    ]
  },
  /*常见问题*/
  {
    path: '/faq',
    name: 'faq',
    icon: 'FaqIcon|svg',
    access: 'accessRouteFilter',
    permission: 'ds:faq',
    routes: [
      {
        path: '/faq/faq-manager',
        name: 'faq-manager',
        component: './faq/faq-manager',
        access: 'accessRouteFilter',
        icon: 'FaqManagerIcon|svg',
        permission: 'ds:faq:manager',
      },
      {
        path: '/faq/faq-category',
        name: 'faq-category',
        component: './faq/faq-category',
        access: 'accessRouteFilter',
        icon: 'FaqCategoryIcon|svg',
        permission: 'ds:faqCategory:manager',
      },
    ]
  },
  /*系统管理*/
  {
    path: '/system',
    name: 'system',
    icon: 'SystemIcon|svg',
    access: 'accessRouteFilter',
    permission: 'system:system:manager',
    routes: [
      {
        path: '/system/user-manager',
        name: 'user-manager',
        component: './system/user',
        access: 'accessRouteFilter',
        icon: 'UserManagerIcon|svg',
        permission: 'system:user:manager',
      },
      {
        path: '/system/role-manager',
        name: 'role-manager',
        component: './system/role',
        access: 'accessRouteFilter',
        icon: 'RoleManagerIcon|svg',
        permission: 'system:role:manager',
      },
      {
        path: '/system/setting-manager',
        name: 'setting-manager',
        component: './system/setting',
        access: 'accessRouteFilter',
        icon: 'SettingManagerIcon|svg',
        permission: 'system:setting:manager',
      },
      {
        path: '/system/menu-manager',
        name: 'menu-manager',
        component: './system/menu',
        access: 'accessRouteFilter',
        icon: 'MenuManagerIcon|svg',
        permission: 'system:menu:manager',
      },
      {
        path: '/system/menu-manager-tree',
        name: 'menu-manager-tree',
        component: './system/menu-tree',
        access: 'accessRouteFilter',
        icon: 'MenuManagerIcon|svg',
        permission: 'system:menu:manager',
      },
      {
        path: '/system/region-manager',
        name: 'region-manager',
        component: './system/region',
        access: 'accessRouteFilter',
        icon: 'RegionManagerIcon|svg',
        permission: 'system:region:manager',
      },
      {
        path: '/system/dict-manager',
        name: 'dict-manager',
        component: './system/dict',
        access: 'accessRouteFilter',
        icon: 'DictManagerIcon|svg',
        permission: 'system:dict:manager',
      },
      {
        path: '/system/carousel-manager',
        name: 'carousel-manager',
        component: './system/carousel',
        access: 'accessRouteFilter',
        icon: 'DictManagerIcon|svg',
        permission: 'system:carousel:manager',
      },
    ],
  },
  {
    path: '*',
    layout: false,
    component: './404',
  },
];
